A general-purpose computer, particularly a personal computer, has the capability of conveying information to a user both visually and audibly. A number of different audio sources operating on the computer produce such audible information. The audio information includes, for example, voice annotations used with word processing programs, sound effects and music used with computer games, alert sounds produced by the computer's operating system or applications, and music from audio compact discs (CDs) or digital audio files (such as those commonly known as Windows Media Audio (WMA) or MPEG-1, Audio Layer 3 (MP3)).
The audio sources, including different applications, independently produce audio streams. However, due to limitations of the audio hardware, only one audio source can be played at one time. As a result, the system must properly select and mix the separate audio sources into a single output stream. In addition, because the audio streams originate from different audio sources, the resulting audio output signal may vary over a wide range of volume levels.
With conventional computers, the audio streams (produced by one or more active applications) are mixed at the operating system level. Mixing the audio streams at the operating system level is accomplished by delivering all audio streams to a single audio mixer, which adds the audio streams together and sends the sum, which is the audio output signal, to the sound card of the computer (then, of course, the signal is sent to speakers for output).
FIG. 1 shows an example of a conventional audio management scenario. Specifically, a computer 100 has an audio output device 110 (e.g., speakers) and a monitor 120. Displayed on the monitor is a typical centralized volume control user-interface (UI) 130 offered by an operating system.
This conventional centralized volume control UI 130, depicted in FIG. 1, includes a “main” volume control 140 that affects the volume of the final audio output of the computer. In addition to the main volume control, the conventional centralized volume control UI 130 has a digital-audio volume control 142, a MIDI volume control 144, a CD-Player volume control 146, and a line-in volume control 148.
The digital-audio, or “Wave” volume control 142, affects the volume of digital audio samples often stored in so-called “wave” or “wav” files. The digital-audio volume control 142 also affects the volume of other digital audio samples stored in other formats, such as MP3, WMA. This format is commonly utilized by applications to produce alerts, beeps, and other notification and feedback sounds.
The MIDI, or “SW Synth” volume control 144, affects the volume of audio streams produced by MIDI devices or from MIDI files. MIDI (Musical Instrument Digital Interface) is an industry-standard interface used on electronic musical keyboards and personal computers for computer control of musical instruments and devices.
The CD-Player volume control 146 affects the volume of audio streams produced CD-ROM drives when they are “playing” audio CDs (when the computer is playing audio CDs using the analog audio interface). The line-in volume control 148 affects the volume level of incoming audio as heard through the output
The conventional centralized volume control UI 130, depicted in FIG. 1, does not offer a user a mechanism for manipulating volume levels for audio streams produced by individual applications. Instead, the main volume control 140 ultimately affects the volume of all audio streams regardless of source. Moreover, the other volume controls are differentiated based upon the type of source, where the source types are limited to specific file formats (e.g., wave or midi) or specific hardware sources (e.g., midi device or CD-player).
Consequently, one of the ongoing problems that computer users face when dealing with audio is that each active application on the computer has its own concept of appropriate volume, but the user has no centralized and convenient mechanism for controlling the relative volume of the audio streams produced by each active application or process. This problem is typified by a common experience of listening to music at a reasonable level and being interrupted by seemingly loud new-mail or other alert notification on a user's computer. Another common scenario involves listening to a voice communications message (e.g., voice mail message) on a computer, but the vocal sounds are drowned out by the volume of the music playing on the multimedia player application on the computer.
Conventionally, each active application has the responsibility to manage its own volume. While some active applications choose to control their volume independently, many applications link their volume levels to the main volume of the operating system (e.g., the main volume control 140 depicted in FIG. 1). Unfortunately, in this situation, adjusting the volume for one application affects the volume level for all other active applications in the system. For example, turning up the volume level of the playback of digital music often results in an excessively loud new email notification.
Often applications choose to not expose any end user audio controls. For each of these applications, there is no user-adjustable volume control for the audio stream produced from such an application. However, many applications do expose application-specific volume control to the user. However, these volume controls are specific to the application. Therefore, for example, to adjust the volume of Application X, the user must navigate to Application X, find its volume-control user-interface (UI), and adjust the volume. The user must do this for each application in which she wishes to adjust audio volume.
In addition, occasionally it's not obvious which application is making the sound that the user hears. If she does not recognize the sound, she may be at a loss to find where it is coming from and how to stop or change it.
Moreoever, when an application starts, it typically starts with its volume set to maximum. This means that users often engage in an on-going battle to search volume-control UI for each application and tweak the volume of each application to achieve the desired audio mix. Sometimes, the user is at a loss, because there is no obvious mechanism to adjust the relative volume levels of the applications.
No conventional operating system offers a centralized (e.g., single-point) user-interface where a user may manipulate audio properties (e.g., volume level) for one or more coherent collections of audio streams produced by each of multiple active applications.